Computer servers in a networked system have been configured to maintain time-of-day synchronization. The computer servers utilize the time-of-day synchronization for determining a time sequence when tasks are completed by the computer servers. Tracking the order that tasks are completed is useful for restoring corrupted or lost files for example.
To obtain time-of-day synchronization, computer servers have exchanged time stamps determined by a time-of-day clock with one another. A drawback with this methodology, is that a software program on a first computer that accesses a time-of-day time stamp value from the time-of-day clock on the first computer, may not be able to immediately generate a message containing the time stamp value when the computer is operating near a maximum processing capacity with other tasks. Thus, when the message is transmitted from the first computer to a second computer, the time stamp value may not accurately indicate the actual time that the message was transmitted. Further, a transmission time period for the message to be transmitted from the first computer to the second computer may vary. When the second computer receives the message and attempts to synchronize its time-of-day clock with the time stamp value, a relatively large time difference may be present between the time-of-day clock in the first computer and the time-of-day clock in the second computer.
Accordingly, there is a need for a system and a method for providing an improved synchronization of time-of-day clocks between computers communicating with one another.